草庐IT

SQL PRIMARY KEY 约束

全部标签

mysql - 暂时禁用约束

我有许多带有关系约束的表。表格包含完整的虚拟数据,我想在保留结构的同时截断/清空表格中的数据。每次我想清空一个表时,我都会收到外键约束错误。我能做些什么来暂时禁用约束,然后在删除虚拟数据后重新设置启用它。我尝试了这个解决方案,但没有奏效!一旦我禁用,然后尝试截断,我得到fk约束错误...//disableSETFOREIGN_KEY_CHECKS=0;//enableSETFOREIGN_KEY_CHECKS=1;我正在使用MySQL。有什么想法吗? 最佳答案 如果要使用truncate,则必须删除FK,因为truncate不是记录

php - 忽略 PHP 中的 MySQL 外键约束

有没有办法在php脚本中覆盖mysql外键约束?我有一个从php传递给mysql的查询,但是它没有通过外键约束,有没有办法在不改变数据库架构的情况下解决这个问题?我只是在做一些测试,所以我会在完成后删除该行。 最佳答案 $pdo->query('SETforeign_key_checks=0');//dosomestuffhere$pdo->query('SETforeign_key_checks=1'); 关于php-忽略PHP中的MySQL外键约束,我们在StackOverflow上

php - 忽略 PHP 中的 MySQL 外键约束

有没有办法在php脚本中覆盖mysql外键约束?我有一个从php传递给mysql的查询,但是它没有通过外键约束,有没有办法在不改变数据库架构的情况下解决这个问题?我只是在做一些测试,所以我会在完成后删除该行。 最佳答案 $pdo->query('SETforeign_key_checks=0');//dosomestuffhere$pdo->query('SETforeign_key_checks=1'); 关于php-忽略PHP中的MySQL外键约束,我们在StackOverflow上

mysql - 更改 MySQL 表以添加外键约束会导致错误

问题:为什么在尝试更改具有外键约束的表时会出现错误?详情:我有1个表,HSTORY,我将其用作所有其他特定历史表(即USER_HISTORY、BROWSER_HISTORY、PICTURE_HISTORY...)。我还包含了PICTURE和USER表,因为它们也被调用了。历史表:CREATETABLEIFNOTEXISTSHISTORY(IDINTNOTNULLAUTO_INCREMENT,VIEWERIDINTNOTNULL,VIEWDATETIMESTAMPNOTNULLDEFAULTNOW(),PRIMARYKEY(ID),FOREIGNKEY(VIEWERID)REFERENC

mysql - 更改 MySQL 表以添加外键约束会导致错误

问题:为什么在尝试更改具有外键约束的表时会出现错误?详情:我有1个表,HSTORY,我将其用作所有其他特定历史表(即USER_HISTORY、BROWSER_HISTORY、PICTURE_HISTORY...)。我还包含了PICTURE和USER表,因为它们也被调用了。历史表:CREATETABLEIFNOTEXISTSHISTORY(IDINTNOTNULLAUTO_INCREMENT,VIEWERIDINTNOTNULL,VIEWDATETIMESTAMPNOTNULLDEFAULTNOW(),PRIMARYKEY(ID),FOREIGNKEY(VIEWERID)REFERENC

mysql - 从 MySQL 迁移到 SQL Server,约束问题

我创建了一个使用MySQL数据库的Web应用程序,但我必须将数据库迁移到MicrosoftSQLServer2008R2并且我正在使用SQLServer迁移助手(SSMA)。我的报告中出现了一些使用外键的表的错误。1。自引用外键我有一个表,行之间存在父子关系;map表格:|map_id|map_title|latitude|longitude|map_zoom|map_parent||:------:|:-------------------:|:---------:|:----------:|:--------:|:----------:||1|MyParentMap|50.3648

mysql - 从 MySQL 迁移到 SQL Server,约束问题

我创建了一个使用MySQL数据库的Web应用程序,但我必须将数据库迁移到MicrosoftSQLServer2008R2并且我正在使用SQLServer迁移助手(SSMA)。我的报告中出现了一些使用外键的表的错误。1。自引用外键我有一个表,行之间存在父子关系;map表格:|map_id|map_title|latitude|longitude|map_zoom|map_parent||:------:|:-------------------:|:---------:|:----------:|:--------:|:----------:||1|MyParentMap|50.3648

mysql - 如何在 Ruby on Rails 3 中对 MySQL 表的列定义 "unique"约束?

我有一个简单的MySQL表,其中有一列:name。我想在这个列上定义一个唯一的约束。我能做到:classMyModel但它只能在应用程序级别工作,而不是在数据库级别。你有什么建议? 最佳答案 使用以下方法向数据库本身添加唯一约束:add_index:my_models,:my_column_name,unique:true...通过迁移(您可能希望my_column_name也不接受任何空值:classCreateMyModels 关于mysql-如何在RubyonRails3中对MyS

mysql - 如何在 Ruby on Rails 3 中对 MySQL 表的列定义 "unique"约束?

我有一个简单的MySQL表,其中有一列:name。我想在这个列上定义一个唯一的约束。我能做到:classMyModel但它只能在应用程序级别工作,而不是在数据库级别。你有什么建议? 最佳答案 使用以下方法向数据库本身添加唯一约束:add_index:my_models,:my_column_name,unique:true...通过迁移(您可能希望my_column_name也不接受任何空值:classCreateMyModels 关于mysql-如何在RubyonRails3中对MyS

mysql - MySQL 中的 CHECK 约束不起作用

首先我创建了一个类似的表CREATETABLECustomer(SDintegerCHECK(SD>0),Last_Namevarchar(30),First_Namevarchar(30));然后在该表中插入值INSERTINTOCustomervalues('-2','abc','zz');MySQL没有显示错误,它接受了这些值。 最佳答案 MySQL8.0.16是第一个支持CHECK约束的版本。阅读https://dev.mysql.com/doc/refman/8.0/en/create-table-check-constr